Combining Retiming and Scheduling Techniques for Loop Parallelization and Loop Tiling Ecole Normale Supérieure De Lyon Combining Retiming and Scheduling Techniques for Loop Parallelization and Loop Tiling Combining Retiming and Scheduling Techniques for Loop Parallelization and Loop Tiling
نویسنده
چکیده
Tiling is a technique used for exploitingmedium grain parallelism in nested loops It relies on a rst step that detects sets of permutable nested loops All algorithms developed so far consider the statements of the loop body as a single block in other words they are not able to take advantage of the structure of dependences between di erent statements In this report we overcome this limitation by showing how the structure of the reduced dependence graph can be taken into account for detecting more permutable loops Our method combines graph retiming techniques and graph scheduling techniques It can be viewed as an extension of Wolf and Lam s algorithm to the case of loops with multiple statements Loop independent dependences play a particular role in our study and we show how the way we handle them can be useful for ne grain loop parallelization as well
منابع مشابه
Combining Retiming and Scheduling Techniques for Loop Parallelization and Loop Tiling
Tiling is a technique used for exploiting medium-grain parallelism in nested loops. It relies on a rst step that detects sets of permutable nested loops. All algorithms developed so far consider the statements of the loop body as a single block, in other words, they are not able to take advantage of the structure of dependences between diierent statements. In this paper, we overcome this limita...
متن کاملReducing Data Communication Overhead for Doacross Loop Nests Reducing Data Communication Overhead for Doacross Loop Nests
If the loop iterations of a loop nest cannot be partitioned into independent sets, the data communication for data dependences are inevitable in order to execute them on parallel machines. This kind of loop nests are referred to as Doacross loop nests. This paper is concerned with compiler algorithms for parallelizing Doacross loop nests for distributed-memory multicomputers. We present a metho...
متن کاملLoop Scheduling Optimization with Data Prefetching based on Multi-dimensional Retiming
In this paper, we propose a novel loop scheduling technique based on multi-dimensional retiming in a balanced fashion, which considers the computation schedule and memory access schedule simultaneously. Experiments show that the proposed technique which combines the data prefetching and retiming is successful in hiding memory la-tency and improving the overall performance. Comparing with the tr...
متن کاملScheduling Data-Flow Graphs via Retiming and Unfolding
Loop scheduling is an important problem in parallel processing. The retiming technique reorganizes an iteration; the unfolding technique schedules several iterations together. We combine these two techniques to obtain a static schedule with a reduced average computation time per iteration. We first prove that the order of retiming and unfolding is immaterial for scheduling a data-flow graph (DF...
متن کاملOptimizing parallelism for nested loops with iterational and instructional retiming
Embedded systems have strict timing and code size requirements. Retiming is one of the most important optimization techniques to improve the execution time of loops by increasing the parallelism among successive loop iterations. Traditionally, retiming has been applied at instruction level to reduce cycle period for single loops. While multi-dimensional (MD) retiming can explore the outer loop ...
متن کامل